package cn.jbolt.admin.xd.xdbillzixiongweixin6216;

import com.jfinal.plugin.activerecord.Page;
import cn.jbolt.extend.systemlog.ProjectSystemLogTargetType;
import cn.jbolt.core.service.base.JBoltBaseService;
import com.jfinal.kit.Kv;
import com.jfinal.kit.Okv;
import com.jfinal.kit.Ret;
import cn.jbolt.core.base.JBoltMsg;
import cn.jbolt.core.db.sql.Sql;
import cn.jbolt.common.model.xd.XdBillZixiongWeixin6216;
/**
 * null管理
 * @ClassName: XdBillZixiongWeixin6216Service
 * @author: wzx
 * @date: 2025-05-10 20:57  
 */
public class XdBillZixiongWeixin6216Service extends JBoltBaseService<XdBillZixiongWeixin6216> {
	private final XdBillZixiongWeixin6216 dao=new XdBillZixiongWeixin6216().dao();
	@Override
	protected XdBillZixiongWeixin6216 dao() {
		return dao;
	}

	@Override
    protected int systemLogTargetType() {
        return ProjectSystemLogTargetType.NONE.getValue();
    }
		
	/**
	 * 后台管理数据查询
	 * @param pageNumber 第几页
	 * @param pageSize   每页几条数据
	 * @param keywords   关键词
	 * @param sortColumn  排序列名
	 * @param sortType  排序方式 asc desc
     * @param tradeType 交易类型
     * @param isOperatingIncome isOperatingIncome
	 * @return
	 */
	public Page<XdBillZixiongWeixin6216> getAdminDatas(int pageNumber, int pageSize, String keywords, String sortColumn, String sortType, String tradeType, Boolean isOperatingIncome) {
	    //创建sql对象
	    Sql sql = selectSql().page(pageNumber,pageSize);
	    //sql条件处理
        sql.eq(XdBillZixiongWeixin6216.TRADE_TYPE,tradeType);
        sql.eqBooleanToChar(XdBillZixiongWeixin6216.IS_OPERATING_INCOME,isOperatingIncome);
        //关键词模糊查询
		sql.likeMulti(keywords,XdBillZixiongWeixin6216.IN_ALIAS_NAME, XdBillZixiongWeixin6216.OUT_ALIAS_NAME, XdBillZixiongWeixin6216.REMARK, XdBillZixiongWeixin6216.BILL_FILE_NAME);
		//排序
		sql.orderBy(sortColumn,sortType);
		return paginate(sql);
	}
	
	/**
	 * 保存
	 * @param xdBillZixiongWeixin6216
	 * @return
	 */
	public Ret save(XdBillZixiongWeixin6216 xdBillZixiongWeixin6216) {
		if(xdBillZixiongWeixin6216==null || isOk(xdBillZixiongWeixin6216.getId())) {
			return fail(JBoltMsg.PARAM_ERROR);
		}
		boolean success=xdBillZixiongWeixin6216.save();
		if(success) {
			//添加日志
			//addSaveSystemLog(xdBillZixiongWeixin6216.getId(), JBoltUserKit.getUserId(), xdBillZixiongWeixin6216.getName());
		}
		return ret(success);
	}
	
	/**
	 * 更新
	 * @param xdBillZixiongWeixin6216
	 * @return
	 */
	public Ret update(XdBillZixiongWeixin6216 xdBillZixiongWeixin6216) {
		if(xdBillZixiongWeixin6216==null || notOk(xdBillZixiongWeixin6216.getId())) {
			return fail(JBoltMsg.PARAM_ERROR);
		}
		//更新时需要判断数据存在
		XdBillZixiongWeixin6216 dbXdBillZixiongWeixin6216=findById(xdBillZixiongWeixin6216.getId());
		if(dbXdBillZixiongWeixin6216==null) {return fail(JBoltMsg.DATA_NOT_EXIST);}
		boolean success=xdBillZixiongWeixin6216.update();
		if(success) {
			//添加日志
			//addUpdateSystemLog(xdBillZixiongWeixin6216.getId(), JBoltUserKit.getUserId(), xdBillZixiongWeixin6216.getName());
		}
		return ret(success);
	}
	
	/**
	 * 删除数据后执行的回调
	 * @param xdBillZixiongWeixin6216 要删除的model
	 * @param kv 携带额外参数一般用不上
	 * @return
	 */
	@Override
	protected String afterDelete(XdBillZixiongWeixin6216 xdBillZixiongWeixin6216, Kv kv) {
		//addDeleteSystemLog(xdBillZixiongWeixin6216.getId(), JBoltUserKit.getUserId(),xdBillZixiongWeixin6216.getName());
		return null;
	}
	
	/**
	 * 检测是否可以删除
	 * @param xdBillZixiongWeixin6216 model
	 * @param kv 携带额外参数一般用不上
	 * @return
	 */
	@Override
	public String checkInUse(XdBillZixiongWeixin6216 xdBillZixiongWeixin6216, Kv kv) {
		//这里用来覆盖 检测是否被其它表引用
		return null;
	}
	
	/**
	 * toggle操作执行后的回调处理
	 */
	@Override
	protected String afterToggleBoolean(XdBillZixiongWeixin6216 xdBillZixiongWeixin6216, String column, Kv kv) {
		//addUpdateSystemLog(xdBillZixiongWeixin6216.getId(), JBoltUserKit.getUserId(), xdBillZixiongWeixin6216.getName(),"的字段["+column+"]值:"+xdBillZixiongWeixin6216.get(column));
		/**
		switch(column){
		    case "is_operating_income":
		        break;
		}
		*/
		return null;
	}
	
}